<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <base data-ice="baseUrl" href="../">
  <title data-ice="title">Function | xeokit-sdk</title>
  <link type="text/css" rel="stylesheet" href="css/style.css">
  <link type="text/css" rel="stylesheet" href="css/prettify-tomorrow.css">
  <script src="script/prettify/prettify.js"></script>
  <script src="script/manual.js"></script>
<meta name="description" content="3D engineering graphics in the browser"><meta property="og:type" content="website"><meta property="og:url" content="http://xeokit.io"><meta property="og:site_name" content="xeokit-sdk"><meta property="og:title" content="xeokit-sdk"><meta property="og:image" content="./images/logo.jpg"><meta property="og:description" content="3D engineering graphics in the browser"><meta property="og:author" content="http://xeolabs.com"><meta property="twitter:card" content="summary"><meta property="twitter:title" content="xeokit-sdk"><meta property="twitter:description" content="3D engineering graphics in the browser"><meta property="twitter:image" content="./images/logo.jpg"></head>
<body class="layout-container" data-ice="rootContainer">

<header>
  <a href="./" style="display: flex; align-items: center;"><img src="./image/brand_logo.jpg" style="width:34px;"></a>
  
  <a href="identifiers.html">Reference</a>
  <a href="source.html">Source</a>
  
  <div class="search-box">
  <span>
    <img src="./image/search.png">
    <span class="search-input-edge"></span><input class="search-input"><span class="search-input-edge"></span>
  </span>
    <ul class="search-result"></ul>
  </div>
<a style="position:relative; top:3px;" href="https://github.com/xeokit/xeokit-sdk"><img width="20px" src="./image/github.png"></a></header>

<nav class="navigation" data-ice="nav"><div>
  <ul>
    
  <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-contextmenu">extras/ContextMenu</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/ContextMenu/ContextMenu.js~ContextMenu.html">ContextMenu</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-marqueepicker">extras/MarqueePicker</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/MarqueePicker/MarqueePicker.js~MarqueePicker.html">MarqueePicker</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/MarqueePicker/MarqueePickerMouseControl.js~MarqueePickerMouseControl.html">MarqueePickerMouseControl</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-pointercircle">extras/PointerCircle</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/PointerCircle/PointerCircle.js~PointerCircle.html">PointerCircle</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-pointerlens">extras/PointerLens</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/PointerLens/PointerLens.js~PointerLens.html">PointerLens</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-skybox">extras/Skybox</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createCombinedTexture">createCombinedTexture</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createSkyboxMesh">createSkyboxMesh</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-spheremap">extras/SphereMap</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createSphereMapMesh">createSphereMapMesh</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-collision">extras/collision</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/collision/ObjectsKdTree3.js~ObjectsKdTree3.html">ObjectsKdTree3</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-anglemeasurementsplugin">plugins/AngleMeasurementsPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/AngleMeasurement.js~AngleMeasurement.html">AngleMeasurement</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsMouseControl.js~AngleMeasurementsMouseControl.html">AngleMeasurementsMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsPlugin.js~AngleMeasurementsPlugin.html">AngleMeasurementsPlugin</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsTouchControl.js~AngleMeasurementsTouchControl.html">AngleMeasurementsTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/index.js~AngleMeasurementEditControl.html">AngleMeasurementEditControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/index.js~AngleMeasurementEditMouseControl.html">AngleMeasurementEditMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/index.js~AngleMeasurementEditTouchControl.html">AngleMeasurementEditTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsControl.js~AngleMeasurementsControl.html">AngleMeasurementsControl</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-annotationsplugin">plugins/AnnotationsPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AnnotationsPlugin/Annotation.js~Annotation.html">Annotation</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AnnotationsPlugin/AnnotationsPlugin.js~AnnotationsPlugin.html">AnnotationsPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-axisgizmoplugin">plugins/AxisGizmoPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AxisGizmoPlugin/AxisGizmoPlugin.js~AxisGizmoPlugin.html">AxisGizmoPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-bcfviewpointsplugin">plugins/BCFViewpointsPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/BCFViewpointsPlugin/BCFViewpointsPlugin.js~BCFViewpointsPlugin.html">BCFViewpointsPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-cityjsonloaderplugin">plugins/CityJSONLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/CityJSONLoaderPlugin/CityJSONDefaultDataSource.js~CityJSONDefaultDataSource.html">CityJSONDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/CityJSONLoaderPlugin/CityJSONLoaderPlugin.js~CityJSONLoaderPlugin.html">CityJSONLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-cxconverterifcloaderplugin">plugins/CxConverterIFCLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/CxConverterIFCLoaderPlugin/CxConverterIFCLoaderPlugin.js~CxConverterIFCLoaderPlugin.html">CxConverterIFCLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-distancemeasurementsplugin">plugins/DistanceMeasurementsPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurement.js~DistanceMeasurement.html">DistanceMeasurement</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsMouseControl.js~DistanceMeasurementsMouseControl.html">DistanceMeasurementsMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsPlugin.js~DistanceMeasurementsPlugin.html">DistanceMeasurementsPlugin</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsTouchControl.js~DistanceMeasurementsTouchControl.html">DistanceMeasurementsTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/index.js~DistanceMeasurementEditControl.html">DistanceMeasurementEditControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/index.js~DistanceMeasurementEditMouseControl.html">DistanceMeasurementEditMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/index.js~DistanceMeasurementEditTouchControl.html">DistanceMeasurementEditTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsControl.js~DistanceMeasurementsControl.html">DistanceMeasurementsControl</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-dotbimloaderplugin">plugins/DotBIMLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DotBIMLoaderPlugin/DotBIMDefaultDataSource.js~DotBIMDefaultDataSource.html">DotBIMDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DotBIMLoaderPlugin/DotBIMLoaderPlugin.js~DotBIMLoaderPlugin.html">DotBIMLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-facealignedsectionplanesplugin">plugins/FaceAlignedSectionPlanesPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesControl.js~FaceAlignedSectionPlanesControl.html">FaceAlignedSectionPlanesControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesPlugin.js~FaceAlignedSectionPlanesPlugin.html">FaceAlignedSectionPlanesPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-fastnavplugin">plugins/FastNavPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/FastNavPlugin/FastNavPlugin.js~FastNavPlugin.html">FastNavPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-gltfloaderplugin">plugins/GLTFLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/GLTFLoaderPlugin/GLTFDefaultDataSource.js~GLTFDefaultDataSource.html">GLTFDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/GLTFLoaderPlugin/GLTFLoaderPlugin.js~GLTFLoaderPlugin.html">GLTFLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-lasloaderplugin">plugins/LASLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/LASLoaderPlugin/LASDefaultDataSource.js~LASDefaultDataSource.html">LASDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/LASLoaderPlugin/LASLoaderPlugin.js~LASLoaderPlugin.html">LASLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-navcubeplugin">plugins/NavCubePlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/NavCubePlugin/NavCubePlugin.js~NavCubePlugin.html">NavCubePlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-objloaderplugin">plugins/OBJLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/OBJLoaderPlugin/OBJLoaderPlugin.js~OBJLoaderPlugin.html">OBJLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-stlloaderplugin">plugins/STLLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/STLLoaderPlugin/STLDefaultDataSource.js~STLDefaultDataSource.html">STLDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/STLLoaderPlugin/STLLoaderPlugin.js~STLLoaderPlugin.html">STLLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-sectionplanesplugin">plugins/SectionPlanesPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/SectionPlanesPlugin/SectionPlanesPlugin.js~SectionPlanesPlugin.html">SectionPlanesPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-storeyviewsplugin">plugins/StoreyViewsPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/StoreyViewsPlugin/Storey.js~Storey.html">Storey</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/StoreyViewsPlugin/StoreyMap.js~StoreyMap.html">StoreyMap</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/StoreyViewsPlugin/StoreyViewsPlugin.js~StoreyViewsPlugin.html">StoreyViewsPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-treeviewplugin">plugins/TreeViewPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/TreeViewPlugin/RenderService.js~RenderService.html">RenderService</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/plugins/TreeViewPlugin/TreeViewNode.js~TreeViewNode.html">TreeViewNode</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-viewcullplugin">plugins/ViewCullPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ViewCullPlugin/ViewCullPlugin.js~ViewCullPlugin.html">ViewCullPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-webifcloaderplugin">plugins/WebIFCLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/WebIFCLoaderPlugin/WebIFCDefaultDataSource.js~WebIFCDefaultDataSource.html">WebIFCDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/WebIFCLoaderPlugin/WebIFCLoaderPlugin.js~WebIFCLoaderPlugin.html">WebIFCLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-xktloaderplugin">plugins/XKTLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/XKTLoaderPlugin/XKTDefaultDataSource.js~XKTDefaultDataSource.html">XKTDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js~XKTLoaderPlugin.html">XKTLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-xml3dloaderplugin">plugins/XML3DLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/XML3DLoaderPlugin/XML3DLoaderPlugin.js~XML3DLoaderPlugin.html">XML3DLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-zonesplugin">plugins/ZonesPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneEditControl.html">ZoneEditControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneEditMouseControl.html">ZoneEditMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneEditTouchControl.html">ZoneEditTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneTranslateControl.html">ZoneTranslateControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneTranslateMouseControl.html">ZoneTranslateMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneTranslateTouchControl.html">ZoneTranslateTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesAAZoneControl.html">ZonesAAZoneControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesMouseControl.html">ZonesMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesPlugin.html">ZonesPlugin</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesPolysurfaceMouseControl.html">ZonesPolysurfaceMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesPolysurfaceTouchControl.html">ZonesPolysurfaceTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesTouchControl.html">ZonesTouchControl</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-lib-html">plugins/lib/html</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addContextMenuListener">addContextMenuListener</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-lib-ui">plugins/lib/ui</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/lib/ui/index.js~Dot3D.html">Dot3D</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/lib/ui/index.js~Label3D.html">Label3D</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/lib/ui/index.js~Wire3D.html">Wire3D</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-activateDraggableDot">activateDraggableDot</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-activateDraggableDots">activateDraggableDots</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addMousePressListener">addMousePressListener</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addTouchPressListener">addTouchPressListener</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-marker3D">marker3D</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-startPolygonCreate">startPolygonCreate</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-touchPointSelector">touchPointSelector</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-transformToNode">transformToNode</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-triangulateEarClipping">triangulateEarClipping</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-wire3D">wire3D</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer">viewer</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/Configs.js~Configs.html">Configs</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/Plugin.js~Plugin.html">Plugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-localization">viewer/localization</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/localization/LocaleService.js~LocaleService.html">LocaleService</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-metadata">viewer/metadata</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/metadata/MetaModel.js~MetaModel.html">MetaModel</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/metadata/MetaObject.js~MetaObject.html">MetaObject</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/metadata/MetaScene.js~MetaScene.html">MetaScene</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/metadata/Property.js~Property.html">Property</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/metadata/PropertySet.js~PropertySet.html">PropertySet</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-IFCObjectDefaultColors">IFCObjectDefaultColors</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-IFCObjectDefaults">IFCObjectDefaults</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene">viewer/scene</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-stats">stats</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-bitmap">viewer/scene/Bitmap</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/Bitmap/Bitmap.js~Bitmap.html">Bitmap</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-imageplane">viewer/scene/ImagePlane</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/ImagePlane/ImagePlane.js~ImagePlane.html">ImagePlane</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-lineset">viewer/scene/LineSet</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/LineSet/LineSet.js~LineSet.html">LineSet</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-camera">viewer/scene/camera</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/Camera.js~Camera.html">Camera</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/CameraFlightAnimation.js~CameraFlightAnimation.html">CameraFlightAnimation</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/CameraPath.js~CameraPath.html">CameraPath</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/CameraPathAnimation.js~CameraPathAnimation.html">CameraPathAnimation</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/CustomProjection.js~CustomProjection.html">CustomProjection</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/Frustum.js~Frustum.html">Frustum</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/Ortho.js~Ortho.html">Ortho</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/Perspective.js~Perspective.html">Perspective</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-canvas">viewer/scene/canvas</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/canvas/Canvas.js~Canvas.html">Canvas</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/canvas/Spinner.js~Spinner.html">Spinner</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-constants">viewer/scene/constants</a><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-AlphaFormat">AlphaFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-ByteType">ByteType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-ClampToEdgeWrapping">ClampToEdgeWrapping</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-CompressedMediaType">CompressedMediaType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-DepthFormat">DepthFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-DepthStencilFormat">DepthStencilFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-FloatType">FloatType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-GIFMediaType">GIFMediaType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-HalfFloatType">HalfFloatType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-IntType">IntType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-JPEGMediaType">JPEGMediaType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearEncoding">LinearEncoding</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearFilter">LinearFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearMipMapLinearFilter">LinearMipMapLinearFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearMipMapNearestFilter">LinearMipMapNearestFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearMipmapLinearFilter">LinearMipmapLinearFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearMipmapNearestFilter">LinearMipmapNearestFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LuminanceAlphaFormat">LuminanceAlphaFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LuminanceFormat">LuminanceFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-MirroredRepeatWrapping">MirroredRepeatWrapping</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NearestFilter">NearestFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NearestMipMapLinearFilter">NearestMipMapLinearFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NearestMipMapNearestFilter">NearestMipMapNearestFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NearestMipmapLinearFilter">NearestMipmapLinearFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NearestMipmapNearestFilter">NearestMipmapNearestFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-PNGMediaType">PNGMediaType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBAFormat">RGBAFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBAIntegerFormat">RGBAIntegerFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_10x10_Format">RGBA_ASTC_10x10_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_10x5_Format">RGBA_ASTC_10x5_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_10x6_Format">RGBA_ASTC_10x6_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_10x8_Format">RGBA_ASTC_10x8_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_12x10_Format">RGBA_ASTC_12x10_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_12x12_Format">RGBA_ASTC_12x12_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_4x4_Format">RGBA_ASTC_4x4_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_5x4_Format">RGBA_ASTC_5x4_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_5x5_Format">RGBA_ASTC_5x5_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_6x5_Format">RGBA_ASTC_6x5_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_6x6_Format">RGBA_ASTC_6x6_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_8x5_Format">RGBA_ASTC_8x5_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_8x6_Format">RGBA_ASTC_8x6_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_8x8_Format">RGBA_ASTC_8x8_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_BPTC_Format">RGBA_BPTC_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ETC2_EAC_Format">RGBA_ETC2_EAC_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_PVRTC_2BPPV1_Format">RGBA_PVRTC_2BPPV1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_PVRTC_4BPPV1_Format">RGBA_PVRTC_4BPPV1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_S3TC_DXT1_Format">RGBA_S3TC_DXT1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_S3TC_DXT3_Format">RGBA_S3TC_DXT3_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_S3TC_DXT5_Format">RGBA_S3TC_DXT5_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBFormat">RGBFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGB_ETC1_Format">RGB_ETC1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGB_ETC2_Format">RGB_ETC2_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGB_PVRTC_2BPPV1_Format">RGB_PVRTC_2BPPV1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGB_PVRTC_4BPPV1_Format">RGB_PVRTC_4BPPV1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGB_S3TC_DXT1_Format">RGB_S3TC_DXT1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGFormat">RGFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGIntegerFormat">RGIntegerFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RedFormat">RedFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RedIntegerFormat">RedIntegerFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RepeatWrapping">RepeatWrapping</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-ShortType">ShortType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedByteType">UnsignedByteType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedInt248Type">UnsignedInt248Type</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedIntType">UnsignedIntType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedShort4444Type">UnsignedShort4444Type</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedShort5551Type">UnsignedShort5551Type</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedShortType">UnsignedShortType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-sRGBEncoding">sRGBEncoding</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-geometry">viewer/scene/geometry</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/geometry/VBOGeometry.js~VBOGeometry.html">VBOGeometry</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-geometry-builders">viewer/scene/geometry/builders</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildBoxGeometry">buildBoxGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildBoxLinesGeometry">buildBoxLinesGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildBoxLinesGeometryFromAABB">buildBoxLinesGeometryFromAABB</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildCylinderGeometry">buildCylinderGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildGridGeometry">buildGridGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildLineGeometry">buildLineGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildPlaneGeometry">buildPlaneGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildPolylineGeometry">buildPolylineGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildPolylineGeometryFromCurve">buildPolylineGeometryFromCurve</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildSphereGeometry">buildSphereGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildTorusGeometry">buildTorusGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildVectorTextGeometry">buildVectorTextGeometry</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-geometry-loaders">viewer/scene/geometry/loaders</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-load3DSGeometry">load3DSGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-loadOBJGeometry">loadOBJGeometry</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-input">viewer/scene/input</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/input/Input.js~Input.html">Input</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-libs">viewer/scene/libs</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-deviation">deviation</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-earcut">earcut</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-flatten">flatten</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-lights">viewer/scene/lights</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/AmbientLight.js~AmbientLight.html">AmbientLight</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/CubeTexture.js~CubeTexture.html">CubeTexture</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/DirLight.js~DirLight.html">DirLight</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/Light.js~Light.html">Light</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/LightMap.js~LightMap.html">LightMap</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/PointLight.js~PointLight.html">PointLight</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/ReflectionMap.js~ReflectionMap.html">ReflectionMap</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/Shadow.js~Shadow.html">Shadow</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-marker">viewer/scene/marker</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/marker/Marker.js~Marker.html">Marker</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/marker/SpriteMarker.js~SpriteMarker.html">SpriteMarker</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-materials">viewer/scene/materials</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/EdgeMaterial.js~EdgeMaterial.html">EdgeMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/EmphasisMaterial.js~EmphasisMaterial.html">EmphasisMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/Fresnel.js~Fresnel.html">Fresnel</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/LambertMaterial.js~LambertMaterial.html">LambertMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/LinesMaterial.js~LinesMaterial.html">LinesMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/Material.js~Material.html">Material</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/MetallicMaterial.js~MetallicMaterial.html">MetallicMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/PhongMaterial.js~PhongMaterial.html">PhongMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/PointsMaterial.js~PointsMaterial.html">PointsMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/SpecularMaterial.js~SpecularMaterial.html">SpecularMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html">Texture</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-math">viewer/scene/math</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/math/MeshSurfaceArea.js~MeshSurfaceArea.html">MeshSurfaceArea</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/math/MeshVolume.js~MeshVolume.html">MeshVolume</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-meshSurfaceArea">meshSurfaceArea</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-meshVolume">meshVolume</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-mementos">viewer/scene/mementos</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/mementos/CameraMemento.js~CameraMemento.html">CameraMemento</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/mementos/ModelMemento.js~ModelMemento.html">ModelMemento</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/mementos/ObjectsMemento.js~ObjectsMemento.html">ObjectsMemento</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-mesh">viewer/scene/mesh</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-mesh-draw">viewer/scene/mesh/draw</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-DrawShaderSource">DrawShaderSource</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-metriqs">viewer/scene/metriqs</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/metriqs/Metriqs.js~Metrics.html">Metrics</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-model">viewer/scene/model</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/PerformanceModel.js~PerformanceModel.html">PerformanceModel</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html">SceneModel</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModelTexture.js~SceneModelTexture.html">SceneModelTexture</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModelTextureSet.js~SceneModelTextureSet.html">SceneModelTextureSet</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/VBOSceneModel.js~VBOSceneModel.html">VBOSceneModel</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-uniquifyPositions">uniquifyPositions</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-rebucketPositions">rebucketPositions</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-model-dtx-lines">viewer/scene/model/dtx/lines</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-rebucketPositions">rebucketPositions</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-dataTextureRamStats">dataTextureRamStats</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-model-dtx-triangles-lib">viewer/scene/model/dtx/triangles/lib</a><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-dataTextureRamStats">dataTextureRamStats</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-nodes">viewer/scene/nodes</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/nodes/Node.js~Node.html">Node</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-paths">viewer/scene/paths</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/paths/CubicBezierCurve.js~CubicBezierCurve.html">CubicBezierCurve</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/paths/Curve.js~Curve.html">Curve</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/paths/Path.js~Path.html">Path</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/paths/QuadraticBezierCurve.js~QuadraticBezierCurve.html">QuadraticBezierCurve</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/paths/SplineCurve.js~SplineCurve.html">SplineCurve</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-postfx">viewer/scene/postfx</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/postfx/CrossSections.js~CrossSections.html">CrossSections</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/postfx/SAO.js~SAO.html">SAO</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-scene">viewer/scene/scene</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-sectioncaps">viewer/scene/sectionCaps</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/sectionCaps/SectionCaps.js~SectionCaps.html">SectionCaps</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-sectionplane">viewer/scene/sectionPlane</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/sectionPlane/SectionPlane.js~SectionPlane.html">SectionPlane</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/sectionPlane/SectionPlaneCache.js~SectionPlaneCache.html">SectionPlaneCache</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-utils">viewer/scene/utils</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/FileLoader.js~FileLoader.html">FileLoader</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/Loader.js~Loader.html">Loader</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/LoadingManager.js~LoadingManager.html">LoadingManager</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/WorkerPool.js~WorkerPool.html">WorkerPool</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-Cache">Cache</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-DefaultLoadingManager">DefaultLoadingManager</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-utils-texturetranscoders">viewer/scene/utils/textureTranscoders</a><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/textureTranscoders/TextureTranscoder.js~TextureTranscoder.html">TextureTranscoder</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-utils-texturetranscoders-ktx2texturetranscoder">viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js~KTX2TextureTranscoder.html">KTX2TextureTranscoder</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-viewport">viewer/scene/viewport</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/viewport/Viewport.js~Viewport.html">Viewport</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-webgl">viewer/scene/webgl</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/webgl/PickResult.js~PickResult.html">PickResult</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-utils">viewer/utils</a><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-os">os</a></span></span></li>
</ul>
</div>
</nav>

<div class="content" data-ice="content"><h1 data-ice="title">Function</h1>
<div data-ice="summaries"><table class="summary" data-ice="summary">
  <thead><tr><td data-ice="title" colspan="3">Static Public Summary</td></tr></thead>
  <tbody>
  
  <tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-DrawShaderSource">DrawShaderSource</a></span></span><span class="code" data-ice="signature">(mesh: <span>*</span>)</span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-activateDraggableDot">activateDraggableDot</a></span></span><span class="code" data-ice="signature">(dot: <span>*</span>, cfg: <span>*</span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-activateDraggableDots">activateDraggableDots</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-addContextMenuListener">addContextMenuListener</a></span></span><span class="code" data-ice="signature">(elem: <span>*</span>, callback: <span>*</span>, failCallback: <span>*</span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-addMousePressListener">addMousePressListener</a></span></span><span class="code" data-ice="signature">(element: <span>*</span>, onChange: <span>*</span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-addTouchPressListener">addTouchPressListener</a></span></span><span class="code" data-ice="signature">(element: <span>*</span>, cameraControl: <span>*</span>, pointerCircle: <span>*</span>, onChange: <span>*</span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildBoxGeometry">buildBoxGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates box-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildBoxLinesGeometry">buildBoxLinesGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a box-shaped lines <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildBoxLinesGeometryFromAABB">buildBoxLinesGeometryFromAABB</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a box-shaped lines <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> from AABB.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildCylinderGeometry">buildCylinderGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a cylinder-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildGridGeometry">buildGridGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a grid-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildLineGeometry">buildLineGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a 3D line <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildPlaneGeometry">buildPlaneGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a plane-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildPolylineGeometry">buildPolylineGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a 3D polyline <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildPolylineGeometryFromCurve">buildPolylineGeometryFromCurve</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a 3D polyline from curve <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildSphereGeometry">buildSphereGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a sphere-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildTorusGeometry">buildTorusGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a torus-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-buildVectorTextGeometry">buildVectorTextGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates wireframe vector text <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          <span data-ice="async">async</span>
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-createCombinedTexture">createCombinedTexture</a></span></span><span class="code" data-ice="signature">(scene: <span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span>, cfg: <span>*</span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-createSkyboxMesh">createSkyboxMesh</a></span></span><span class="code" data-ice="signature">(scene: <span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span>, texture: <span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html">Texture</a></span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-createSphereMapMesh">createSphereMapMesh</a></span></span><span class="code" data-ice="signature">(scene: <span>*</span>, texture: <span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html">Texture</a></span>): <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-deviation">deviation</a></span></span><span class="code" data-ice="signature">(data: <span>*</span>, holeIndices: <span>*</span>, dim: <span>*</span>, triangles: <span>*</span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-earcut">earcut</a></span></span><span class="code" data-ice="signature">(data: <span>*</span>, holeIndices: <span>*</span>, dim: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-flatten">flatten</a></span></span><span class="code" data-ice="signature">(data: <span>*</span>): {&quot;vertices&quot;: <span>*</span>, &quot;holes&quot;: <span>*</span>, &quot;dimensions&quot;: <span>*</span>}</span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-load3DSGeometry">load3DSGeometry</a></span></span><span class="code" data-ice="signature">(scene: <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Loads <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> from 3DS.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-loadOBJGeometry">loadOBJGeometry</a></span></span><span class="code" data-ice="signature">(scene: <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Loads <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> from OBJ.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-marker3D">marker3D</a></span></span><span class="code" data-ice="signature">(scene: <span>*</span>, color: <span>*</span>): {&quot;update&quot;: <span>*</span>, &quot;setFillColor&quot;: <span>*</span>, &quot;setHighlighted&quot;: <span>*</span>, &quot;getCanvasPos&quot;: <span>*</span>, &quot;getWorldPos&quot;: <span>*</span>, &quot;destroy&quot;: <span>*</span>}</span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-rebucketPositions">rebucketPositions</a></span></span><span class="code" data-ice="signature">(mesh: {positionsCompressed: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, indices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, edgeIndices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>}, bitsPerBucket: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span>, checkResult: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span>): <span><span>{positionsCompressed: number[], indices: number[], edgeIndices: number[]}</span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-rebucketPositions">rebucketPositions</a></span></span><span class="code" data-ice="signature">(mesh: {positionsCompressed: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, indices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, edgeIndices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>}, bitsPerBucket: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span>, checkResult: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span>): <span><span>{positionsCompressed: number[], indices: number[], edgeIndices: number[]}</span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-startPolygonCreate">startPolygonCreate</a></span></span><span class="code" data-ice="signature">(scene: <span>*</span>, pointerLens: <span>*</span>, addPressListener: <span>*</span>, pickRayResult: <span>*</span>, onChange: <span>*</span>, onConclude: <span>*</span>): {&quot;cancel&quot;: <span>*</span>, &quot;closePolygon&quot;: <span>*</span>, &quot;placeVertex&quot;: <span>*</span>, &quot;popVertex&quot;: <span>*</span>, &quot;updateOnChange&quot;: <span>*</span>}</span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-touchPointSelector">touchPointSelector</a></span></span><span class="code" data-ice="signature">(viewer: <span>*</span>, pointerCircle: <span>*</span>, ray2WorldPos: <span>*</span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-transformToNode">transformToNode</a></span></span><span class="code" data-ice="signature">(from: <span>*</span>, to: <span>*</span>, vec: <span>*</span>)</span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-triangulateEarClipping">triangulateEarClipping</a></span></span><span class="code" data-ice="signature">(planeCoords: <span>*</span>): <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-uniquifyPositions">uniquifyPositions</a></span></span><span class="code" data-ice="signature">(mesh: {positionsCompressed: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, indices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, edgeIndices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>}): <span>[Uint16Array, Uint32Array, Uint32Array]</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>This function obtains unique positionsCompressed in the provided object
.positionsCompressed array and calculates an index mapping, which is then
applied to the provided object .indices and .edgeindices.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="function/index.html#static-function-wire3D">wire3D</a></span></span><span class="code" data-ice="signature">(scene: <span>*</span>, color: <span>*</span>): {&quot;update&quot;: <span>*</span>, &quot;setColor&quot;: <span>*</span>, &quot;destroy&quot;: <span>*</span>}</span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
</tbody>
</table>
</div>
<div data-ice="details"><h2 data-ice="title">Static Public </h2>

<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-DrawShaderSource">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">DrawShaderSource</span><span class="code" data-ice="signature">(mesh: <span>*</span>)</span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/mesh/draw/DrawShaderSource.js.html#lineNumber7">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {DrawShaderSource} from &apos;<span><a href="file/src/viewer/scene/mesh/draw/DrawShaderSource.js.html#lineNumber7">@xeokit/xeokit-sdk/src/viewer/scene/mesh/draw/DrawShaderSource.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">mesh</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-activateDraggableDot">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">activateDraggableDot</span><span class="code" data-ice="signature">(dot: <span>*</span>, cfg: <span>*</span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber538">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {activateDraggableDot} from &apos;<span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber538">@xeokit/xeokit-sdk/src/plugins/lib/ui/index.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">dot</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-activateDraggableDots">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">activateDraggableDots</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber674">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {activateDraggableDots} from &apos;<span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber674">@xeokit/xeokit-sdk/src/plugins/lib/ui/index.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-addContextMenuListener">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">addContextMenuListener</span><span class="code" data-ice="signature">(elem: <span>*</span>, callback: <span>*</span>, failCallback: <span>*</span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/html/MenuEvent.js.html#lineNumber4">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {addContextMenuListener} from &apos;<span><a href="file/src/plugins/lib/html/MenuEvent.js.html#lineNumber4">@xeokit/xeokit-sdk/src/plugins/lib/html/MenuEvent.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">elem</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">callback</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">failCallback</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-addMousePressListener">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">addMousePressListener</span><span class="code" data-ice="signature">(element: <span>*</span>, onChange: <span>*</span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber955">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {addMousePressListener} from &apos;<span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber955">@xeokit/xeokit-sdk/src/plugins/lib/ui/index.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">element</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">onChange</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-addTouchPressListener">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">addTouchPressListener</span><span class="code" data-ice="signature">(element: <span>*</span>, cameraControl: <span>*</span>, pointerCircle: <span>*</span>, onChange: <span>*</span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber1006">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {addTouchPressListener} from &apos;<span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber1006">@xeokit/xeokit-sdk/src/plugins/lib/ui/index.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">element</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cameraControl</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">pointerCircle</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">onChange</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildBoxGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildBoxGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildBoxGeometry.js.html#lineNumber47">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildBoxGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildBoxGeometry.js.html#lineNumber47">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildBoxGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates box-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>In the example below we&apos;ll create a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a box-shaped <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span>.</p>
<p>[<a href="/examples/index.html#geometry_builders_buildBoxGeometry">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">import {Viewer, Mesh, buildBoxGeometry, ReadableGeometry, PhongMaterial, Texture} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
        canvasId: &quot;myCanvas&quot;
});

viewer.scene.camera.eye = [0, 0, 5];
viewer.scene.camera.look = [0, 0, 0];
viewer.scene.camera.up = [0, 1, 0];

new Mesh(viewer.scene, {
     geometry: new ReadableGeometry(viewer.scene, buildBoxGeometry({
        center: [0,0,0],
        xSize: 1,  // Half-size on each axis
        ySize: 1,
        zSize: 1
     }),
     material: new PhongMaterial(viewer.scene, {
        diffuseMap: new Texture(viewer.scene, {
            src: &quot;textures/diffuse/uvGrid2.jpg&quot;
        })
     })
});</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.center</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D point indicating the center position.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.xSize</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1.0</li></ul></td>
      <td data-ice="description"><p>Half-size on the X-axis.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.ySize</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1.0</li></ul></td>
      <td data-ice="description"><p>Half-size on the Y-axis.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.zSize</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1.0</li></ul></td>
      <td data-ice="description"><p>Half-size on the Z-axis.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildBoxLinesGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildBoxLinesGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js.html#lineNumber45">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildBoxLinesGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js.html#lineNumber45">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates a box-shaped lines <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>In the example below we&apos;ll create a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a box-shaped <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span> that has lines primitives.</p>
<p>[<a href="/examples/index.html#geometry_builders_buildBoxLinesGeometry">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">import {Viewer, Mesh, buildBoxLinesGeometry, ReadableGeometry, PhongMaterial} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
        canvasId: &quot;myCanvas&quot;
});

viewer.scene.camera.eye = [0, 0, 5];
viewer.scene.camera.look = [0, 0, 0];
viewer.scene.camera.up = [0, 1, 0];

new Mesh(viewer.scene, {
     geometry: new ReadableGeometry(viewer.scene, buildBoxLinesGeometry({
        center: [0,0,0],
        xSize: 1,  // Half-size on each axis
        ySize: 1,
        zSize: 1
     })),
     material: new PhongMaterial(viewer.scene, {
        emissive: [0,1,0]
     })
});</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.center</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D point indicating the center position.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.xSize</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1.0</li></ul></td>
      <td data-ice="description"><p>Half-size on the X-axis.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.ySize</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1.0</li></ul></td>
      <td data-ice="description"><p>Half-size on the Y-axis.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.zSize</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1.0</li></ul></td>
      <td data-ice="description"><p>Half-size on the Z-axis.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildBoxLinesGeometryFromAABB">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildBoxLinesGeometryFromAABB</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js.html#lineNumber224">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildBoxLinesGeometryFromAABB} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js.html#lineNumber224">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates a box-shaped lines <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> from AABB.</p>
<h2 id="usage">Usage</h2><p>In the example below we&apos;ll create a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a box-shaped <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span> that has lines primitives.
This box will be created from AABB of a model.</p>
<p>[<a href="/examples/index.html#geometry_builders_buildBoxLinesGeometryFromAABB">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">    import {Viewer, Mesh, Node, buildBoxGeometry, buildBoxLinesGeometryFromAABB, ReadableGeometry, PhongMaterial} from &quot;../../dist/xeokit-sdk.min.es.js&quot;;

    const viewer = new Viewer({
        canvasId: &quot;myCanvas&quot;
    });

    viewer.scene.camera.eye = [-21.80, 4.01, 6.56];
    viewer.scene.camera.look = [0, -5.75, 0];
    viewer.scene.camera.up = [0.37, 0.91, -0.11];

    const boxGeometry = new ReadableGeometry(viewer.scene, buildBoxGeometry({
        xSize: 1,
        ySize: 1,
        zSize: 1
    }));

    new Node(viewer.scene, {
        id: &quot;table&quot;,
        isModel: true, // &lt;--------------------- Node represents a model
        rotation: [0, 50, 0],
        position: [0, 0, 0],
        scale: [1, 1, 1],

        children: [

            new Mesh(viewer.scene, { // Red table leg
                id: &quot;redLeg&quot;,
                isObject: true, // &lt;---------- Node represents an object
                position: [-4, -6, -4],
                scale: [1, 3, 1],
                rotation: [0, 0, 0],
                geometry: boxGeometry,
                material: new PhongMaterial(viewer.scene, {
                    diffuse: [1, 0.3, 0.3]
                })
            }),

            new Mesh(viewer.scene, { // Green table leg
                id: &quot;greenLeg&quot;,
                isObject: true, // &lt;---------- Node represents an object
                position: [4, -6, -4],
                scale: [1, 3, 1],
                rotation: [0, 0, 0],
                geometry: boxGeometry,
                material: new PhongMaterial(viewer.scene, {
                    diffuse: [0.3, 1.0, 0.3]
                })
            }),

            new Mesh(viewer.scene, {// Blue table leg
                id: &quot;blueLeg&quot;,
                isObject: true, // &lt;---------- Node represents an object
                position: [4, -6, 4],
                scale: [1, 3, 1],
                rotation: [0, 0, 0],
                geometry: boxGeometry,
                material: new PhongMaterial(viewer.scene, {
                    diffuse: [0.3, 0.3, 1.0]
                })
            }),

            new Mesh(viewer.scene, {  // Yellow table leg
                id: &quot;yellowLeg&quot;,
                isObject: true, // &lt;---------- Node represents an object
                position: [-4, -6, 4],
                scale: [1, 3, 1],
                rotation: [0, 0, 0],
                geometry: boxGeometry,
                material: new PhongMaterial(viewer.scene, {
                    diffuse: [1.0, 1.0, 0.0]
                })
            }),

            new Mesh(viewer.scene, { // Purple table top
                id: &quot;tableTop&quot;,
                isObject: true, // &lt;---------- Node represents an object
                position: [0, -3, 0],
                scale: [6, 0.5, 6],
                rotation: [0, 0, 0],
                geometry: boxGeometry,
                material: new PhongMaterial(viewer.scene, {
                    diffuse: [1.0, 0.3, 1.0]
                })
            })
        ]
    });

    let aabb = viewer.scene.aabb;
    console.log(aabb);

    new Mesh(viewer.scene, {
        geometry: new ReadableGeometry(viewer.scene, buildBoxLinesGeometryFromAABB({
            id: &quot;aabb&quot;,
            aabb: aabb,
        })),
        material: new PhongMaterial(viewer.scene, {
            emissive: [0, 1,]
        })
    });</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.aabb</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>AABB for which box will be created.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildCylinderGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildCylinderGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildCylinderGeometry.js.html#lineNumber54">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildCylinderGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildCylinderGeometry.js.html#lineNumber54">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildCylinderGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates a cylinder-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>Creating a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a cylinder-shaped <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span> :</p>
<p>[<a href="/examples/index.html#geometry_builders_buildCylinderGeometry">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">
import {Viewer, Mesh, buildCylinderGeometry, ReadableGeometry, PhongMaterial, Texture} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
     canvasId: &quot;myCanvas&quot;
 });

viewer.camera.eye = [0, 0, 5];
viewer.camera.look = [0, 0, 0];
viewer.camera.up = [0, 1, 0];

new Mesh(viewer.scene, {
     geometry: new ReadableGeometry(viewer.scene, buildCylinderGeometry({
         center: [0,0,0],
         radiusTop: 2.0,
         radiusBottom: 2.0,
         height: 5.0,
         radialSegments: 20,
         heightSegments: 1,
         openEnded: false
     }),
     material: new PhongMaterial(viewer.scene, {
        diffuseMap: new Texture(viewer.scene, {
            src: &quot;textures/diffuse/uvGrid2.jpg&quot;
        })
     })
});</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID for the <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.center</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D point indicating the center position.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.radiusTop</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Radius of top.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.radiusBottom</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Radius of bottom.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.height</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Height.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.radialSegments</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 60</li></ul></td>
      <td data-ice="description"><p>Number of horizontal segments.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.heightSegments</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Number of vertical segments.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.openEnded</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Whether or not the cylinder has solid caps on the ends.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildGridGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildGridGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildGridGeometry.js.html#lineNumber43">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildGridGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildGridGeometry.js.html#lineNumber43">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildGridGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates a grid-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>Creating a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a GridGeometry and a <span><a href="class/src/viewer/scene/materials/PhongMaterial.js~PhongMaterial.html">PhongMaterial</a></span>:</p>
<p>[<a href="/examples/index.html#geometry_builders_buildGridGeometry">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">import {Viewer, Mesh, buildGridGeometry, VBOGeometry, PhongMaterial, Texture} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
     canvasId: &quot;myCanvas&quot;
});

viewer.camera.eye = [0, 0, 5];
viewer.camera.look = [0, 0, 0];
viewer.camera.up = [0, 1, 0];

new Mesh(viewer.scene, {
     geometry: new VBOGeometry(viewer.scene, buildGridGeometry({
         size: 1000,
         divisions: 500
     })),
     material: new PhongMaterial(viewer.scene, {
         color: [0.0, 0.0, 0.0],
         emissive: [0.4, 0.4, 0.4]
     }),
     position: [0, -1.6, 0]
});</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID for the <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.size</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Dimension on the X and Z-axis.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.divisions</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Number of divisions on X and Z axis..</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildLineGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildLineGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildLineGeometry.js.html#lineNumber193">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildLineGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildLineGeometry.js.html#lineNumber193">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildLineGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates a 3D line <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>In the example below we&apos;ll create a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a line <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span>.</p>
<p>[<a href="https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#buildLineGeometry">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">//------------------------------------------------------------------------------------------------------------------
// Import the modules we need for this example
//------------------------------------------------------------------------------------------------------------------

import {buildLineGeometry, Viewer, Mesh, ReadableGeometry, PhongMaterial} from &quot;../../dist/xeokit-sdk.min.es.js&quot;;

//------------------------------------------------------------------------------------------------------------------
// Create a Viewer and arrange the camera
//------------------------------------------------------------------------------------------------------------------

const viewer = new Viewer({
    canvasId: &quot;myCanvas&quot;
});

viewer.camera.eye = [0, 0, 8];
viewer.camera.look = [0, 0, 0];
viewer.camera.up = [0, 1, 0];

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with simple 2d line shape
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildLineGeometry({
        startPoint: [-5,-2,0],
        endPoint: [-5,2,0],
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 1,]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with simple 2d line shape with black color
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildLineGeometry({
        startPoint: [-4,-2,0],
        endPoint: [-4,2,0],
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 0, 0]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with simple 2d line shape with black color and simple pattern
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildLineGeometry({
        startPoint: [-3,-2,0],
        endPoint: [-3,2,0],
        pattern: [0.10],
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 0, 0]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with simple 2d line shape with blue color and simple pattern extended to end
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildLineGeometry({
        startPoint: [-2,-2,0],
        endPoint: [-2,2,0],
        pattern: [0.10],
        extendToEnd: true,
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 0, 1]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with simple 2d line shape with black color and more complex pattern
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildLineGeometry({
        startPoint: [-1,-2,0],
        endPoint: [-1,2,0],
        pattern: [0.15, 0.05],
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 0, 0]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with simple 2d line shape with blue color and more complex pattern extended to end
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildLineGeometry({
        startPoint: [0,-2,0],
        endPoint: [0,2,0],
        pattern: [0.15, 0.05],
        extendToEnd: true,
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 0, 1]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with simple 2d line shape with black color and complex pattern
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildLineGeometry({
        startPoint: [1,-2,0],
        endPoint: [1,2,0],
        pattern: [0.15, 0.05, 0.50],
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 0, 0]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with simple 2d line shape with blue color and complex pattern extended to end
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildLineGeometry({
        startPoint: [2,-2,0],
        endPoint: [2,2,0],
        pattern: [0.15, 0.05, 0.50],
        extendToEnd: true,
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 0, 1]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with simple 3d line shape with white color and simple pattern
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildLineGeometry({
        startPoint: [3,-2,-1],
        endPoint: [5,2,1],
        pattern: [0.10],
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [1, 1, 1]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with simple 3d line shape with black color and simple dot pattern
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildLineGeometry({
        startPoint: [5,-2,-1],
        endPoint: [7,2,1],
        pattern: [0.03],
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 0, 0]
    })
});</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.startPoint</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D start point (x0, y0, z0).</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.endPoint</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D end point (x1, y1, z1).</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.pattern</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Lengths of segments that describe a pattern.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.extendToEnd</td>
      <td data-ice="type" class="code"><span>Bool</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>If true: it will try to make sure the line doesn&apos;t end up with a gap, as it will
extend the last segment.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildPlaneGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildPlaneGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildPlaneGeometry.js.html#lineNumber49">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildPlaneGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildPlaneGeometry.js.html#lineNumber49">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildPlaneGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates a plane-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>Creating a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a PlaneGeometry and a <span><a href="class/src/viewer/scene/materials/PhongMaterial.js~PhongMaterial.html">PhongMaterial</a></span> with diffuse <span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html">Texture</a></span>:</p>
<p>[<a href="https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#buildPlaneGeometry">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">import {Viewer, Mesh, buildPlaneGeometry, ReadableGeometry, PhongMaterial, Texture} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
     canvasId: &quot;myCanvas&quot;
});

viewer.camera.eye = [0, 0, 5];
viewer.camera.look = [0, 0, 0];
viewer.camera.up = [0, 1, 0];

new Mesh(viewer.scene, {
     geometry: new ReadableGeometry(viewer.scene, buildPlaneGeometry({
         center: [0,0,0],
         xSize: 2,
         zSize: 2,
         xSegments: 10,
         zSegments: 10
     }),
     material: new PhongMaterial(viewer.scene, {
         diffuseMap: new Texture(viewer.scene, {
             src: &quot;textures/diffuse/uvGrid2.jpg&quot;
         })
     })
 });</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.center</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D point indicating the center position.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID for the <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.xSize</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Dimension on the X-axis.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.zSize</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Dimension on the Z-axis.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.xSegments</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Number of segments on the X-axis.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.zSegments</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Number of segments on the Z-axis.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildPolylineGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildPolylineGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildPolylineGeometry.js.html#lineNumber65">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildPolylineGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildPolylineGeometry.js.html#lineNumber65">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildPolylineGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates a 3D polyline <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>In the example below we&apos;ll create a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a polyline <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span> that has lines primitives.</p>
<p>[<a href="https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#buildPolylineGeometry">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">//------------------------------------------------------------------------------------------------------------------
// Import the modules we need for this example
//------------------------------------------------------------------------------------------------------------------

import {buildPolylineGeometry, Viewer, Mesh, ReadableGeometry, PhongMaterial} from &quot;../../dist/xeokit-sdk.min.es.js&quot;;

//------------------------------------------------------------------------------------------------------------------
// Create a Viewer and arrange the camera
//------------------------------------------------------------------------------------------------------------------

const viewer = new Viewer({
    canvasId: &quot;myCanvas&quot;
});

viewer.camera.eye = [0, 0, 8];
viewer.camera.look = [0, 0, 0];
viewer.camera.up = [0, 1, 0];

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with polyline shape
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildPolylineGeometry({
        points: [
            0, 2.83654, 0,
            -0.665144, 1.152063, 0,
            -2.456516, 1.41827, 0,
            -1.330288, 0, 0,
            -2.456516, -1.41827, 0,
            -0.665144, -1.152063, 0,
            0, -2.83654, 0,
            0.665144, -1.152063, 0,
            2.456516, -1.41827, 0,
            1.330288, 0, 0,
            2.456516, 1.41827, 0,
            0.665144, 1.152063, 0,
            0, 2.83654, 0,
        ]
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 1,]
    })
});</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.points</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D points indicating vertices position.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildPolylineGeometryFromCurve">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildPolylineGeometryFromCurve</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildPolylineGeometry.js.html#lineNumber197">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildPolylineGeometryFromCurve} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildPolylineGeometry.js.html#lineNumber197">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildPolylineGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates a 3D polyline from curve <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>In the example below we&apos;ll create a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a polyline <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span> created from curves.</p>
<p>[<a href="https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#buildPolylineGeometryFromCurve">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">//------------------------------------------------------------------------------------------------------------------
// Import the modules we need for this example
//------------------------------------------------------------------------------------------------------------------

import {buildPolylineGeometryFromCurve, Viewer, Mesh, PhongMaterial, NavCubePlugin, CubicBezierCurve, SplineCurve, QuadraticBezierCurve, ReadableGeometry} from &quot;../../dist/xeokit-sdk.min.es.js&quot;;

//------------------------------------------------------------------------------------------------------------------
// Create a Viewer and arrange the camera
//------------------------------------------------------------------------------------------------------------------

const viewer = new Viewer({
    canvasId: &quot;myCanvas&quot;
});

new NavCubePlugin(viewer, {
    canvasId: &quot;myNavCubeCanvas&quot;,
    visible: true,
    size: 250,
    alignment: &quot;bottomRight&quot;,
    bottomMargin: 100,
    rightMargin: 10
});

viewer.camera.eye = [0, -250, 1];
viewer.camera.look = [0, 0, 0];
viewer.camera.up = [0, 1, 0];

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with polyline shape from Spline
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildPolylineGeometryFromCurve({
        id: &quot;SplineCurve&quot;,
        curve: new SplineCurve(viewer.scene, {
            points: [
                [-65.77614, 0, -88.881992],
                [90.020852, 0, -61.589088],
                [-67.766247, 0, -22.071238],
                [93.148164, 0, -13.826507],
                [-14.033343, 0, 3.231558],
                [32.592034, 0, 9.20188],
                [3.309023, 0, 22.848332],
                [23.210098, 0, 28.818655],
            ],
        }),
        divisions: 100,
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [1, 0, 0]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with polyline shape from CubicBezier
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildPolylineGeometryFromCurve({
        id: &quot;CubicBezierCurve&quot;,
        curve: new CubicBezierCurve(viewer.scene, {
            v0: [120, 0, 100],
            v1: [120, 0, 0],
            v2: [80, 0, 100],
            v3: [80, 0, 0],
        }),
        divisions: 50,
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 1, 0]
    })
});

//------------------------------------------------------------------------------------------------------------------
// Create a mesh with polyline shape from QuadraticBezier
//------------------------------------------------------------------------------------------------------------------

new Mesh(viewer.scene, {
    geometry: new ReadableGeometry(viewer.scene, buildPolylineGeometryFromCurve({
        id: &quot;QuadraticBezierCurve&quot;,
        curve: new QuadraticBezierCurve(viewer.scene, {
            v0: [-100, 0, 100],
            v1: [-50, 0, 150],
            v2: [-50, 0, 0],
        }),
        divisions: 20,
    })),
    material: new PhongMaterial(viewer.scene, {
        emissive: [0, 0, 1]
    })
});</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.curve</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Curve for which polyline will be created.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.divisions</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>The number of divisions.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildSphereGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildSphereGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildSphereGeometry.js.html#lineNumber47">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildSphereGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildSphereGeometry.js.html#lineNumber47">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildSphereGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates a sphere-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>Creating a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a sphere-shaped <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span> :</p>
<p>[<a href="https://xeokit.github.io/xeokit-sdk/examples/scenegraph/#buildSphereGeometry">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">import {Viewer, Mesh, buildSphereGeometry, ReadableGeometry, PhongMaterial, Texture} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
    canvasId: &quot;myCanvas&quot;
});

viewer.camera.eye = [0, 0, 5];
viewer.camera.look = [0, 0, 0];
viewer.camera.up = [0, 1, 0];

new Mesh(viewer.scene, {
     geometry: new ReadableGeometry(viewer.scene, buildSphereGeometry({
         center: [0,0,0],
         radius: 1.5,
         heightSegments: 60,
         widthSegments: 60
     }),
     material: new PhongMaterial(viewer.scene, {
        diffuseMap: new Texture(viewer.scene, {
            src: &quot;textures/diffuse/uvGrid2.jpg&quot;
        })
     })
});</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID for the <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.center</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D point indicating the center position.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.radius</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Radius.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.heightSegments</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 24</li></ul></td>
      <td data-ice="description"><p>Number of latitudinal bands.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.widthSegments</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 18</li></ul></td>
      <td data-ice="description"><p>Number of longitudinal bands.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildTorusGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildTorusGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildTorusGeometry.js.html#lineNumber51">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildTorusGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildTorusGeometry.js.html#lineNumber51">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildTorusGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates a torus-shaped <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>Creating a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with a torus-shaped <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span> :</p>
<p>[<a href="/examples/index.html#geometry_builders_buildTorusGeometry">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">import {Viewer, Mesh, buildTorusGeometry, ReadableGeometry, PhongMaterial, Texture} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
     canvasId: &quot;myCanvas&quot;
});

viewer.camera.eye = [0, 0, 5];
viewer.camera.look = [0, 0, 0];
viewer.camera.up = [0, 1, 0];

new Mesh(viewer.scene, {
     geometry: new ReadableGeometry(viewer.scene, buildTorusGeometry({
         center: [0,0,0],
         radius: 1.0,
         tube: 0.5,
         radialSegments: 32,
         tubeSegments: 24,
         arc: Math.PI * 2.0
     }),
     material: new PhongMaterial(viewer.scene, {
        diffuseMap: new Texture(viewer.scene, {
            src: &quot;textures/diffuse/uvGrid2.jpg&quot;
        })
     })
});</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID for the <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.center</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D point indicating the center position.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.radius</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>The overall radius.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.tube</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 0.3</li></ul></td>
      <td data-ice="description"><p>The tube radius.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.radialSegments</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 32</li></ul></td>
      <td data-ice="description"><p>The number of radial segments.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.tubeSegments</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 24</li></ul></td>
      <td data-ice="description"><p>The number of tubular segments.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.arc</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: Math.PI*0.5</li></ul></td>
      <td data-ice="description"><p>The length of the arc in radians, where Math.PI*2 is a closed torus.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-buildVectorTextGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">buildVectorTextGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/builders/buildVectorTextGeometry.js.html#lineNumber1620">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {buildVectorTextGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/builders/buildVectorTextGeometry.js.html#lineNumber1620">@xeokit/xeokit-sdk/src/viewer/scene/geometry/builders/buildVectorTextGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Creates wireframe vector text <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span>.</p>
<h2 id="usage">Usage</h2><p>Creating a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with vector text <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span> :</p>
<p>[<a href="/examples/index.html#geometry_builders_buildVectorTextGeometry">Run this example</a>]</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">
import {Viewer, Mesh, buildVectorTextGeometry, ReadableGeometry, PhongMaterial} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
     canvasId: &quot;myCanvas&quot;
});

viewer.camera.eye = [0, 0, 100];
viewer.camera.look = [0, 0, 0];
viewer.camera.up = [0, 1, 0];

new Mesh(viewer.scene, {
     geometry: new ReadableGeometry(viewer.scene, buildVectorTextGeometry({
         origin: [0,0,0],
         text: &quot;On the other side of the screen, it all looked so easy&quot;
     }),
     material: new PhongMaterial(viewer.scene, {
        diffuseMap: new Texture(viewer.scene, {
            src: &quot;textures/diffuse/uvGrid2.jpg&quot;
        })
     })
});</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID, unique among all components in the parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.center</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D point indicating the center position.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.origin</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>3D point indicating the top left corner.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.size</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Size of each character.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.text</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: &quot;&quot;</li></ul></td>
      <td data-ice="description"><p>The text.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration for a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> subtype.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-createCombinedTexture">
    <span class="access" data-ice="access">public</span>
    
    
    
    <span data-ice="async">async</span>
    
    <span class="code" data-ice="name">createCombinedTexture</span><span class="code" data-ice="signature">(scene: <span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span>, cfg: <span>*</span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/extras/Skybox/Skybox.js.html#lineNumber17">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {createCombinedTexture} from &apos;<span><a href="file/src/extras/Skybox/Skybox.js.html#lineNumber17">@xeokit/xeokit-sdk/src/extras/Skybox/Skybox.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">scene</td>
      <td data-ice="type" class="code"><span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Texture configuration</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.src</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: null</li></ul></td>
      <td data-ice="description"><p>Path to 6 images</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.encoding</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: LinearEncoding</li></ul></td>
      <td data-ice="description"><p>Texture encoding format.  See the <span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html#instance-get-encoding">Texture#encoding</a></span> property for more info.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-createSkyboxMesh">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">createSkyboxMesh</span><span class="code" data-ice="signature">(scene: <span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span>, texture: <span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html">Texture</a></span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/extras/Skybox/Skybox.js.html#lineNumber99">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {createSkyboxMesh} from &apos;<span><a href="file/src/extras/Skybox/Skybox.js.html#lineNumber99">@xeokit/xeokit-sdk/src/extras/Skybox/Skybox.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">scene</td>
      <td data-ice="type" class="code"><span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">texture</td>
      <td data-ice="type" class="code"><span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html">Texture</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Texture to be used on the skybox mesh</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-createSphereMapMesh">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">createSphereMapMesh</span><span class="code" data-ice="signature">(scene: <span>*</span>, texture: <span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html">Texture</a></span>): <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/extras/SphereMap/SphereMap.js.html#lineNumber15">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {createSphereMapMesh} from &apos;<span><a href="file/src/extras/SphereMap/SphereMap.js.html#lineNumber15">@xeokit/xeokit-sdk/src/extras/SphereMap/SphereMap.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">scene</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">texture</td>
      <td data-ice="type" class="code"><span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html">Texture</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Texture to be used on the material for SphereMap</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-deviation">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">deviation</span><span class="code" data-ice="signature">(data: <span>*</span>, holeIndices: <span>*</span>, dim: <span>*</span>, triangles: <span>*</span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/libs/earcut.js.html#lineNumber627">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {deviation} from &apos;<span><a href="file/src/viewer/scene/libs/earcut.js.html#lineNumber627">@xeokit/xeokit-sdk/src/viewer/scene/libs/earcut.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">data</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">holeIndices</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">dim</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">triangles</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-earcut">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">earcut</span><span class="code" data-ice="signature">(data: <span>*</span>, holeIndices: <span>*</span>, dim: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/libs/earcut.js.html#lineNumber2">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import earcut from &apos;<span><a href="file/src/viewer/scene/libs/earcut.js.html#lineNumber2">@xeokit/xeokit-sdk/src/viewer/scene/libs/earcut.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">data</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">holeIndices</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">dim</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 2</li></ul></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-flatten">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">flatten</span><span class="code" data-ice="signature">(data: <span>*</span>): {&quot;vertices&quot;: <span>*</span>, &quot;holes&quot;: <span>*</span>, &quot;dimensions&quot;: <span>*</span>}</span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/libs/earcut.js.html#lineNumber664">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {flatten} from &apos;<span><a href="file/src/viewer/scene/libs/earcut.js.html#lineNumber664">@xeokit/xeokit-sdk/src/viewer/scene/libs/earcut.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">data</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType">{&quot;vertices&quot;: <span>*</span>, &quot;holes&quot;: <span>*</span>, &quot;dimensions&quot;: <span>*</span>}</td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-load3DSGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">load3DSGeometry</span><span class="code" data-ice="signature">(scene: <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/loaders/load3DSGeometry.js.html#lineNumber55">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {load3DSGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/loaders/load3DSGeometry.js.html#lineNumber55">@xeokit/xeokit-sdk/src/viewer/scene/geometry/loaders/load3DSGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Loads <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> from 3DS.</p>
<h2 id="usage">Usage</h2><p>In the example below we&apos;ll create a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with <span><a href="class/src/viewer/scene/materials/PhongMaterial.js~PhongMaterial.html">PhongMaterial</a></span>, <span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html">Texture</a></span> and a <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span> loaded from 3DS.</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">import {Viewer, Mesh, load3DSGeometry, ReadableGeometry, PhongMaterial, Texture} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
     canvasId: &quot;myCanvas&quot;
});

viewer.scene.camera.eye = [40.04, 23.46, 79.06];
viewer.scene.camera.look = [-6.48, 13.92, -0.56];
viewer.scene.camera.up = [-0.04, 0.98, -0.08];

load3DSGeometry(viewer.scene, {
     src: &quot;models/3ds/lexus.3ds&quot;,
     compressGeometry: false

 }).then(function (geometryCfg) {

     // Success

     new Mesh(viewer.scene, {

         geometry: new ReadableGeometry(viewer.scene, geometryCfg),

         material: new PhongMaterial(viewer.scene, {

             emissive: [1, 1, 1],
             emissiveMap: new Texture({  // .3DS has no normals so relies on emissive illumination
                 src: &quot;models/3ds/lexus.jpg&quot;
             })
         }),

         rotation: [-90, 0, 0] // +Z is up for this particular 3DS
     });
 }, function () {
     // Error
 });</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">scene</td>
      <td data-ice="type" class="code"><span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Scene we&apos;re loading the geometry for.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Configs, also added to the result object.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.src</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Path to 3DS file.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration to pass into a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> constructor, containing geometry arrays loaded from the OBJ file.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-loadOBJGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">loadOBJGeometry</span><span class="code" data-ice="signature">(scene: <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>, cfg: <span>*</span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/geometry/loaders/loadOBJGeometry.js.html#lineNumber73">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {loadOBJGeometry} from &apos;<span><a href="file/src/viewer/scene/geometry/loaders/loadOBJGeometry.js.html#lineNumber73">@xeokit/xeokit-sdk/src/viewer/scene/geometry/loaders/loadOBJGeometry.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>Loads <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> from OBJ.</p>
<h2 id="usage">Usage</h2><p>In the example below we&apos;ll create a <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span> with <span><a href="class/src/viewer/scene/materials/MetallicMaterial.js~MetallicMaterial.html">MetallicMaterial</a></span> and <span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span> loaded from OBJ.</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">import {Viewer, Mesh, loadOBJGeometry, ReadableGeometry,
     MetallicMaterial, Texture} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
     canvasId: &quot;myCanvas&quot;
});

viewer.scene.camera.eye = [0.57, 1.37, 1.14];
viewer.scene.camera.look = [0.04, 0.58, 0.00];
viewer.scene.camera.up = [-0.22, 0.84, -0.48];

loadOBJGeometry(viewer.scene, {

     src: &quot;models/obj/fireHydrant/FireHydrantMesh.obj&quot;,
     compressGeometry: false

 }).then(function (geometryCfg) {

     // Success

     new Mesh(viewer.scene, {

         geometry: new ReadableGeometry(viewer.scene, geometryCfg),

         material: new MetallicMaterial(viewer.scene, {

             baseColor: [1, 1, 1],
             metallic: 1.0,
             roughness: 1.0,

             baseColorMap: new Texture(viewer.scene, {
                 src: &quot;models/obj/fireHydrant/fire_hydrant_Base_Color.png&quot;,
                 encoding: &quot;sRGB&quot;
             }),
             normalMap: new Texture(viewer.scene, {
                 src: &quot;models/obj/fireHydrant/fire_hydrant_Normal_OpenGL.png&quot;
             }),
             roughnessMap: new Texture(viewer.scene, {
                 src: &quot;models/obj/fireHydrant/fire_hydrant_Roughness.png&quot;
             }),
             metallicMap: new Texture(viewer.scene, {
                 src: &quot;models/obj/fireHydrant/fire_hydrant_Metallic.png&quot;
             }),
             occlusionMap: new Texture(viewer.scene, {
                 src: &quot;models/obj/fireHydrant/fire_hydrant_Mixed_AO.png&quot;
             }),

             specularF0: 0.7
         })
     });
 }, function () {
     // Error
 });</code>
</code></pre>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">scene</td>
      <td data-ice="type" class="code"><span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Scene we&apos;re loading the geometry for.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs, also added to the result object.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.src</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Path to OBJ file.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>Configuration to pass into a <span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span> constructor, containing geometry arrays loaded from the OBJ file.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-marker3D">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">marker3D</span><span class="code" data-ice="signature">(scene: <span>*</span>, color: <span>*</span>): {&quot;update&quot;: <span>*</span>, &quot;setFillColor&quot;: <span>*</span>, &quot;setHighlighted&quot;: <span>*</span>, &quot;getCanvasPos&quot;: <span>*</span>, &quot;getWorldPos&quot;: <span>*</span>, &quot;destroy&quot;: <span>*</span>}</span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber493">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {marker3D} from &apos;<span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber493">@xeokit/xeokit-sdk/src/plugins/lib/ui/index.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">scene</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">color</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType">{&quot;update&quot;: <span>*</span>, &quot;setFillColor&quot;: <span>*</span>, &quot;setHighlighted&quot;: <span>*</span>, &quot;getCanvasPos&quot;: <span>*</span>, &quot;getWorldPos&quot;: <span>*</span>, &quot;destroy&quot;: <span>*</span>}</td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-rebucketPositions">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">rebucketPositions</span><span class="code" data-ice="signature">(mesh: {positionsCompressed: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, indices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, edgeIndices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>}, bitsPerBucket: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span>, checkResult: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span>): <span><span>{positionsCompressed: number[], indices: number[], edgeIndices: number[]}</span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/dtx/lines/rebucketPositions.js.html#lineNumber50">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {rebucketPositions} from &apos;<span><a href="file/src/viewer/scene/model/dtx/lines/rebucketPositions.js.html#lineNumber50">@xeokit/xeokit-sdk/src/viewer/scene/model/dtx/lines/rebucketPositions.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">mesh</td>
      <td data-ice="type" class="code">{positionsCompressed: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, indices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, edgeIndices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>}</td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">bitsPerBucket</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">checkResult</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><span>{positionsCompressed: number[], indices: number[], edgeIndices: number[]}</span><span>[]</span></span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-rebucketPositions">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">rebucketPositions</span><span class="code" data-ice="signature">(mesh: {positionsCompressed: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, indices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, edgeIndices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>}, bitsPerBucket: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span>, checkResult: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span>): <span><span>{positionsCompressed: number[], indices: number[], edgeIndices: number[]}</span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/rebucketPositions.js.html#lineNumber96">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {rebucketPositions} from &apos;<span><a href="file/src/viewer/scene/model/rebucketPositions.js.html#lineNumber96">@xeokit/xeokit-sdk/src/viewer/scene/model/rebucketPositions.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">mesh</td>
      <td data-ice="type" class="code">{positionsCompressed: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, indices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, edgeIndices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>}</td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">bitsPerBucket</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">checkResult</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><span>{positionsCompressed: number[], indices: number[], edgeIndices: number[]}</span><span>[]</span></span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-startPolygonCreate">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">startPolygonCreate</span><span class="code" data-ice="signature">(scene: <span>*</span>, pointerLens: <span>*</span>, addPressListener: <span>*</span>, pickRayResult: <span>*</span>, onChange: <span>*</span>, onConclude: <span>*</span>): {&quot;cancel&quot;: <span>*</span>, &quot;closePolygon&quot;: <span>*</span>, &quot;placeVertex&quot;: <span>*</span>, &quot;popVertex&quot;: <span>*</span>, &quot;updateOnChange&quot;: <span>*</span>}</span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber1108">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {startPolygonCreate} from &apos;<span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber1108">@xeokit/xeokit-sdk/src/plugins/lib/ui/index.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">scene</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">pointerLens</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">addPressListener</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">pickRayResult</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">onChange</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">onConclude</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType">{&quot;cancel&quot;: <span>*</span>, &quot;closePolygon&quot;: <span>*</span>, &quot;placeVertex&quot;: <span>*</span>, &quot;popVertex&quot;: <span>*</span>, &quot;updateOnChange&quot;: <span>*</span>}</td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-touchPointSelector">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">touchPointSelector</span><span class="code" data-ice="signature">(viewer: <span>*</span>, pointerCircle: <span>*</span>, ray2WorldPos: <span>*</span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber737">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {touchPointSelector} from &apos;<span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber737">@xeokit/xeokit-sdk/src/plugins/lib/ui/index.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">viewer</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">pointerCircle</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">ray2WorldPos</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-transformToNode">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">transformToNode</span><span class="code" data-ice="signature">(from: <span>*</span>, to: <span>*</span>, vec: <span>*</span>)</span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber40">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {transformToNode} from &apos;<span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber40">@xeokit/xeokit-sdk/src/plugins/lib/ui/index.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">from</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">to</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">vec</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-triangulateEarClipping">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">triangulateEarClipping</span><span class="code" data-ice="signature">(planeCoords: <span>*</span>): <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber853">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {triangulateEarClipping} from &apos;<span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber853">@xeokit/xeokit-sdk/src/plugins/lib/ui/index.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">planeCoords</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a></span><span>[]</span></span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-uniquifyPositions">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">uniquifyPositions</span><span class="code" data-ice="signature">(mesh: {positionsCompressed: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, indices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, edgeIndices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>}): <span>[Uint16Array, Uint32Array, Uint32Array]</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/calculateUniquePositions.js.html#lineNumber67">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {uniquifyPositions} from &apos;<span><a href="file/src/viewer/scene/model/calculateUniquePositions.js.html#lineNumber67">@xeokit/xeokit-sdk/src/viewer/scene/model/calculateUniquePositions.js</a></span>&apos;</code></pre></div>
  
  
  <div data-ice="description"><p>This function obtains unique positionsCompressed in the provided object
.positionsCompressed array and calculates an index mapping, which is then
applied to the provided object .indices and .edgeindices.</p>
<p>The input object items are not modified, and instead new set
of positionsCompressed, indices and edgeIndices with the applied optimization
are returned.</p>
<p>The algorithm, instead of being based in a hash-like LUT for
identifying unique positionsCompressed, is based in pre-sorting the input
positionsCompressed...</p>
<p>(it&apos;s possible to define a <em>&quot;consistent ordering&quot;</em> for the positionsCompressed
 as positionsCompressed are quantized and thus not suffer from float number
 comparison artifacts)</p>
<p>... so same positionsCompressed are adjacent in the sorted array, and then
it&apos;s easy to scan linearly the sorted array. During the linear run,
we will know that we found a different position because the comparison
function will return != 0 between current and previous element.</p>
<p>During this linear traversal of the array, a <code>unique counter</code> is used
in order to calculate the mapping between original indices and unique
indices.</p>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">mesh</td>
      <td data-ice="type" class="code">{positionsCompressed: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, indices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>, edgeIndices: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span><span>[]</span></span>}</td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>The input mesh to process, with <code>positionsCompressed</code>, <code>indices</code> and <code>edgeIndices</code> keys.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>[Uint16Array, Uint32Array, Uint32Array]</span></td>
          <td class="return-desc" data-ice="returnDescription"><p>An array with 3 elements: 0 =&gt; the uniquified positionsCompressed; 1 and 2 =&gt; the remapped edges and edgeIndices arrays</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="static-function-wire3D">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">wire3D</span><span class="code" data-ice="signature">(scene: <span>*</span>, color: <span>*</span>): {&quot;update&quot;: <span>*</span>, &quot;setColor&quot;: <span>*</span>, &quot;destroy&quot;: <span>*</span>}</span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber517">source</a></span></span>
    </span>
  </h3>

  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {wire3D} from &apos;<span><a href="file/src/plugins/lib/ui/index.js.html#lineNumber517">@xeokit/xeokit-sdk/src/plugins/lib/ui/index.js</a></span>&apos;</code></pre></div>
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">scene</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">color</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType">{&quot;update&quot;: <span>*</span>, &quot;setColor&quot;: <span>*</span>, &quot;destroy&quot;: <span>*</span>}</td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
</div>
</div>

<footer class="footer">
  Generated by <a href="https://esdoc.org">ESDoc<span data-ice="esdocVersion">(1.1.0)</span><img src="./image/esdoc-logo-mini-black.png"></a>
</footer>

<script src="script/search_index.js"></script>
<script src="script/search.js"></script>
<script src="script/pretty-print.js"></script>
<script src="script/inherited-summary.js"></script>
<script src="script/test-summary.js"></script>
<script src="script/inner-link.js"></script>
<script src="script/patch-for-local.js"></script>
</body>
</html>
